This invention relates to a scanner motor acceleration method and particularly to a method for accelerating or decelerating scanner motor through a software driver for the scanner hardware which does not support acceleration and deceleration function.
Scanner is a widely used computer peripheral device nowadays. Its function and features are closely tied to the computer. Some scanners do not have CPU-controlled motor and do not support motor acceleration and deceleration function. In such a case, scanner acceleration and deceleration control is done by means of a software driver located in the host. The smoothness of acceleration and deceleration curve varies and depends on a lot of factors such as degree of software environment complexity, interface bus loading, and the likes.
For a scanner to achieve fast scanning operation, scanner motor is a critical factor. When the scanner motor is CPU-controlled, motor acceleration and deceleration may be achieved easily. When the scanner motor is not CPU-controlled, the control function are mostly relegated to the CPU through remote control following certain command protocol. In such cases, the CPU usually cannot perform real time control for the scanner and may easily result in non-synchronizing or not accurate positioning problems. The following is a summary of conventional methods for supporting fast scanning operation and their trade off:
1. Using fast motor, but the cost is higher.
2. Using ordinary motor, CPU supports acceleration and deceleration function. CPU and firmware are more expensive.
3. Using ordinary motor, hardware provides acceleration and deceleration function. Design is more complex. Acceleration and deceleration profile is less flexible due to hardware restriction.
4. Using ordinary motor, software driver provides acceleration and deceleration function. It may cause positioning problem, and may fail to accelerate to a speed desired within required time frame.
All these issues are still pending and beg for improvement.
It is an object of this invention to provide a scanner motor acceleration method to overcome problems resulting from CPU efficiency or interface for achieving acceleration required and accurate positioning desired.
It is another object of this invention to provide a scanner motor acceleration method for enhancing scanning flexibility and speed without increasing motor cost or hardware design complexity, and to perform acceleration required through a software driver and a flexible process under no hardware support environments.
The method according to this invention includes setting an initial scanning data, determining if the scanner reach the position and speed desired, changing scanning parameters and proceeding acceleration to reach the position and speed desired, and performing constant speed scanning process when reaching the position and speed desired until scanning job is finished. All this is achieved by using existing positioning and speeding mechanisms in the scanner and controlling of software changes.